home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / s390 / include / asm / io.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.0 KB  |  55 lines

  1. /*
  2.  *  include/asm-s390/io.h
  3.  *
  4.  *  S390 version
  5.  *    Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
  6.  *    Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com)
  7.  *
  8.  *  Derived from "include/asm-i386/io.h"
  9.  */
  10.  
  11. #ifndef _S390_IO_H
  12. #define _S390_IO_H
  13.  
  14. #ifdef __KERNEL__
  15.  
  16. #include <asm/page.h>
  17.  
  18. #define IO_SPACE_LIMIT 0xffffffff
  19.  
  20. /*
  21.  * Change virtual addresses to physical addresses and vv.
  22.  * These are pretty trivial
  23.  */
  24. static inline unsigned long virt_to_phys(volatile void * address)
  25. {
  26.     unsigned long real_address;
  27.     asm volatile(
  28.          "    lra    %0,0(%1)\n"
  29.          "    jz    0f\n"
  30.          "    la    %0,0\n"
  31.                  "0:"
  32.          : "=a" (real_address) : "a" (address) : "cc");
  33.         return real_address;
  34. }
  35.  
  36. static inline void * phys_to_virt(unsigned long address)
  37. {
  38.     return (void *) address;
  39. }
  40.  
  41. /*
  42.  * Convert a physical pointer to a virtual kernel pointer for /dev/mem
  43.  * access
  44.  */
  45. #define xlate_dev_mem_ptr(p)    __va(p)
  46.  
  47. /*
  48.  * Convert a virtual cached pointer to an uncached pointer
  49.  */
  50. #define xlate_dev_kmem_ptr(p)    p
  51.  
  52. #endif /* __KERNEL__ */
  53.  
  54. #endif
  55.